package com.umeox.watch.moto.dataservice.mqtt;

/**
 * Created by Rambo 2020/4/30
 * Describe:
 */
public interface Topic {

    /**
     * 设备端请求获取属性发布的主题前缀
     * 完整为topic为$sys/attribute/get/${request_id}
     */
    String GET_ATTRIBUTE_TOPIC_PREFIX = "$sys/attribute/get/";

    /**
     * 设备端上传属性值对应的topic前缀，完整为$sys/attribute/post/${request_id}
     */
    String DEVICE_ATTRIBUTE_POST_PREFIX = "$sys/attribute/post/";

    String ATTRIBUTE_RESPONSE_PREFIX = "$sys/attribute/get_reply/";

    /**
     * 云端下发属性
     */
    String DEVICE_ATTRIBUTES_TOPIC = "$sys/attribute/push";


    /**
     * 云端向设备端发送RPC请求Topic
     */
    String CLOUD_RPC_POST_TOPIC_PREFIX = "$sys/rpc/cloud/post/";

    /**
     * 设备回复云端RPC请求主题
     */
    String CLOUD_RPC_REPLY_TOPIC_PREFIX = "$sys/rpc/cloud/post_reply/";


    String CLIENT_RPC_TOPIC_PREFIX = "$sys/rpc/thing/post/";

    /**
     * 云端回复设备RPC请求Topic
     */
    String CLIENT_RPC_RESPONSE_TOPIC_PREFIX = "$sys/rpc/thing/post_reply/";

    /**
     * 设备事件上报TOPIC
     */
    String EVENT_PUBLISH_TOPIC_PREFIX = "$sys/event/post/";

    String PING_TOPIC = "$sys/thing/ping";

    /**
     * 动态注册deviceSecret主题，deviceSecret在此主题中返回
     */
    String AUTH_TOPIC = "$sys/auth/register";


    /**
     * 云消息推送，目前主要用于语聊
     * 云端发布到此主题
     */
    String CLOUD_PUSH_TOPIC_PREFIX = "$sys/cloud/push/";

    /**
     * 云消息推送回复（设备收到云端推送的消息后需要回复）
     * 设备端发布
     */
    String CLOUD_PUSH_REPLY_TOPIC_PREFIX = "$sys/cloud/push_reply/";
}
